spring AOP

小课堂

分享人: 张鑫

目录

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

Spring

Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率

2.知识剖析

Spring最重要的两个模块

IoC(Inversion of Control,控制反转),通常也认为是依赖注入(DI)

AOP(Aspect Oriented Programming,面向切面编程)

what?

到底什么是AOP?

Aspect Oriented Programming(面向切面编程)

可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术. 它是一种编程思想,并不是spring特有的.

对比一下AOP和OOP

why?

将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。

how?

使用JDK的动态代理和CGLIB代理两种技术来实现,spring利用了依赖注入的技术使得使用起来非常简单方便

我们在程序中如何使用springAOP

xml文件配置

注解式

when?

3.常见问题

怎样将日志单独抽取出来

4.解决方案

5.实战

举一个如何实现任务三中要求统计访问DB时间的例子

6.扩展思考

springAOP是基于动态代理实现的,那么动态代理又是如何实现的?

7.参考文献

参考一:spring基础知识汇总

参考一:spring教程

8.更多讨论

鸣谢

感谢大家观看

BY : 张鑫

Contact GitHub API Training Shop Blog About © 2017 GitHub, Inc. Terms Privacy Security Status Help